package com.zpark.entity.patients;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * 患者预约信息表
 */
@TableName("patient_appointments")
@Data
public class PatientAppointments implements Serializable {

    /**
     * 预约编号（主键）
     */
    @TableId(value = "appointment_id", type = IdType.INPUT) // 注意：String类型主键不能用AUTO
    private String appointmentId;

    /**
     * 患者ID
     */
    private Integer patientId;

    /**
     * 患者姓名
     */
    private String patientName;

    /**
     * 患者头像URL
     */
    private String patientAvatar;

    // 医生信息 ----------------------------------------
    private String doctorId;
    private String doctorName;
    private String doctorPhone;
    private String doctorTitle;
    private String doctorDepartment;
    private String doctorPhoto;

    private String doctorSpecialty;

    // 预约核心信息 ------------------------------------
    private Date appointmentDate;
    private String timeSlot;

    /**
     * 预约状态（建议使用枚举）
     */
    private String appointmentStatus;

    // 就诊相关信息 ------------------------------------
    private String clinicLocation;
    private String floorNumber;
    private String roomNumber;


    // 患者填写的信息 ---------------------------------
    private String symptoms;



    // 时间信息 ---------------------------------------
    private Date registerTime;
    private Date confirmTime;
    private Date cancelTime;
    private String cancelReason;
    private Date finishTime;

    // 时间戳 ----------------------------------------
    private Date createdAt;
    private Date updatedAt;

    // 问诊类型
    private String consultationType;

    // 简化后的equals/hashCode/toString（使用@Data注解自动生成即可）
}
